package com.itheima.dao.checkgroup;

import com.github.pagehelper.Page;
import com.itheima.pojo.CheckGroup;
import com.itheima.pojo.CheckItem;

import java.util.List;
import java.util.Map;

/**
 * @author 张钊煌
 * @since 2021/11/4 11:27
 */

public interface CheckGroupDao {

    CheckGroup findById(Integer id);

    List<CheckItem> findAllItem();

    List<Integer> findCheckItemIdsByCheckGroupId(Integer id);
    /**
     * 要添加的检查组对象，和检查组包括的 所有检查项ID
     * @param checkGroup    要添加的检查组对象
     */
    void addCheckGroup(CheckGroup checkGroup);

    void editCheckGroup(CheckGroup checkGroup);

    /**
     * 添加检查组和检查项中间表信息
     * @param map 存放着 key 检查组  value 检查项id 的Map集合
     */
    void addCheckGroupRelation(Map map);

    /**
     * 删除检查组信息
     * @param id 要删除的检查组id
     */
    void deleteCheckGroup(Integer id);

    /**
     * 删除检查组与检查项信息
     * @param id 要删除的检查组ID
     */
    void deleteCheckGroupAndCheckItem(Integer id);

    /**
     * 查找检查组与套餐的关联表信息
     * @param id 要查询的检查组ID
     * @return
     */
    long findGroupRelation(Integer id);

    Page<CheckGroup> findByCondition(String queryString);

    List<CheckGroup> findAll();
}
